Horner's rule (also referred to as Horner's scheme or Horner's algorithm) is an efficient way of calculating polynomials, useful for both hardware and software.
A polynomial can be described as:
                              p          ⁡                      (            x            )                          =                                            ∑                              i                =                0                            n                        ⁢                                          a                i                            ⁢                              x                i                                              =                                    a              0                        +                                          a                1                            ⁢              x                        +                                          a                2                            ⁢                              x                2                                      +                                          a                3                            ⁢                              x                3                                      +            …            +                                          a                n                            ⁢                              x                n                                                                        (        1        )            For an example where n=5, this can be reformatted using Horner's rule as:p(x)=a0+x(a1+x(a2+x(a3+x(a4+a5x))))  (2)This has the advantage of removing the calculations of powers of x (the result would be similar for any n, except that the number of terms would be different). There are still as many addition operations as there are coefficients, and as many multiplication operations as there are terms of x. For this case of n=5, there are five addition operations, and five multiplication operations.
However, even for a small number of terms, substantial resources may be required. For example, applications in which these operations are used frequently call for double-precision arithmetic (11-bit exponent and 52-bit mantissa). In a PLD such as those sold by Altera Corporation under the trademark STRATIX®, this could translate to approximately 8,500 adaptive look-up tables (ALUTs) and 45 18×18 multipliers. There also are applications calling for quadruple-precision arithmetic (15-bit exponent and 112-bit mantissa), requiring even more resources.